<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>网络设置 | ElasticSearch 7.7 权威指南中文版</title>
	<meta name="keywords" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <meta name="description" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
	<script>
	var _link = 'modules-network.html';
    </script>
</head>
<body>
<div class="main-container">
    <section id="content">
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.7/modules-network.html" rel="nofollow" target="_blank">https://www.elastic.co/guide/en/elasticsearch/reference/7.7/modules-network.html</a>, 原文档版权归 www.elastic.co 所有<br/>本地英文版地址: <a href="../en/modules-network.html" rel="nofollow" target="_blank">../en/modules-network.html</a></div>
                        <!-- start body -->
                  <div class="page_header">
<strong>重要</strong>: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html" rel="nofollow">当前版本文档</a>。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch 权威指南 [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="setup.html">安装和设置</a></span>
»
<span class="breadcrumb-link"><a href="settings.html">配置 Elasticsearch</a></span>
»
<span class="breadcrumb-node">网络设置</span>
</div>
<div class="navheader">
<span class="prev">
<a href="modules-node.html">« 节点</a>
</span>
<span class="next">
<a href="query-cache.html">节点查询缓存设置 »</a>
</span>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="modules-network"></a>网络设置
</h2>
</div></div></div>
<p>
默认情况下，Elasticsearch 只绑定到<code class="literal">localhost</code>。

这足以运行本地开发服务器(如果在同一台计算机上启动多个节点，甚至可以运行开发集群)，但你需要配置一些<a class="xref" href="modules-network.html#common-network-settings" title="Commonly used network settings">基本的网络设置</a>，以便跨多个服务器运行真实的生产集群。
</p>
<div class="warning admon">
<div class="icon"></div>
<div class="admon_content">
<h3>注意网络配置！</h3>
<p>不要向公共互联网公开不受保护的节点。</p>
</div>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="common-network-settings"></a>常用网络设置
</h3>
</div></div></div>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<code class="literal">network.host</code>
</span>
</dt>
<dd>
<p>
该节点将绑定到此主机名或IP地址，并将此主机<em>发布</em>(广告)到集群中的其他节点。
接受IP地址、主机名、<a class="xref" href="modules-network.html#network-interface-values" title="Special values for network.host">特殊值</a>或这些值的任意组合的数组。

请注意，任何包含<code class="literal">:</code>的值(例如，IPv 6地址或其中一个<a class="xref" href="modules-network.html#network-interface-values" title="Special values for network.host">特殊值</a>)都必须加引号，因为<code class="literal">:</code>是 YAML 中的一个特殊字符。
<code class="literal">0.0.0.0</code>是一个可接受的IP地址，并将绑定到所有网络接口。
值<code class="literal">0</code>与值<code class="literal">0.0.0.0</code>具有相同的效果。
</p>
<p>默认为 <code class="literal">_local_</code></p>
</dd>
<dt>
<span class="term">
<code class="literal">discovery.seed_hosts</code>
</span>
</dt>
<dd>
<p>
为了加入集群，节点需要知道集群中至少几个其他节点的主机名或IP地址。
此设置提供此节点将尝试联系的地址的初始列表。
接受IP地址或主机名。
如果主机名查找解析到多个IP地址，则每个IP地址都将用于发现。
<a href="https://en.wikipedia.org/wiki/Round-robin_DNS" class="ulink" target="_top">轮询 DNS</a>--从每次查找的列表中返回不同的IP--可以用于发现；不存在的IP地址将抛出异常，并在下一轮 ping 时导致另一次 DNS 查找(受<a class="xref" href="networkaddress-cache-ttl.html" title="DNS cache settings">JVM DNS 缓存</a>影响)。
</p>
<p>默认为 <code class="literal">["127.0.0.1", "[::1]"]</code></p>
</dd>
<dt>
<span class="term">
<code class="literal">http.port</code>
</span>
</dt>
<dd>
<p>
传入HTTP请求要绑定到的端口。接受单个值或范围。
如果指定了范围，节点将绑定到范围内的第一个可用的端口。
</p>
<p>默认为 <code class="literal">9200-9300</code></p>
</dd>
<dt>
<span class="term">
<code class="literal">transport.port</code>
</span>
</dt>
<dd>
<p>
为节点之间的通信绑定的端口。接受单个值或范围。
如果指定了范围，节点将绑定到范围内的第一个可用的端口。
</p>
<p>默认为 <code class="literal">9300-9400</code></p>
</dd>
</dl>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="network-interface-values"></a><code class="literal">network.host</code>的特殊值
</h3>
</div></div></div>
<p>以下几个特殊值可以传递给 <code class="literal">network.host</code>：</p>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<code class="literal">_[networkInterface]_</code>
</span>
</dt>
<dd>
网络接口的地址，比如 <code class="literal">_en0_</code>.
</dd>
<dt>
<span class="term">
<code class="literal">_local_</code>
</span>
</dt>
<dd>
系统上的任何 回环(loopback) 地址，比如 <code class="literal">127.0.0.1</code>
</dd>
<dt>
<span class="term">
<code class="literal">_site_</code>
</span>
</dt>
<dd>
系统上的任何 本地站点(site-local) 地址，比如 <code class="literal">192.168.0.1</code>
</dd>
<dt>
<span class="term">
<code class="literal">_global_</code>
</span>
</dt>
<dd>
系统上任何 全局范围(globally-scoped) 的地址，比如 <code class="literal">8.8.8.8</code>
</dd>
</dl>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="network-interface-values-ipv4-vs-ipv6"></a>IPv4 vs IPv6
</h4>
</div></div></div>
<p>
默认情况下，这些特殊值在 IPv4 和 IPv6 上都有效，但是你也可以使用<code class="literal">:ipv4</code> 或 <code class="literal">:ipv6</code>说明符对此进行限制。
例如，<code class="literal">_en0:ipv4_</code>将仅绑定到接口<code class="literal">en0</code>的 ipv4 地址。
</p>
<div class="tip admon">
<div class="icon"></div>
<div class="admon_content">
<h3>云上的发现 (Discovery in the Cloud)</h3>
<p>
在云中运行时，可以使用更多的特殊设置，不管安装的是 <a href="https://www.elastic.co/guide/en/elasticsearch/plugins/7.7/discovery-ec2.html" class="ulink" target="_top">EC2 discovery plugin</a> 还是 <a href="https://www.elastic.co/guide/en/elasticsearch/plugins/7.7/discovery-gce-network-host.html#discovery-gce-network-host" class="ulink" target="_top">Google Compute Engine discovery plugin</a>。
</div>
</div>
</div>

</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="advanced-network-settings"></a>高级网络设置
</h3>
</div></div></div>
<p>
<a class="xref" href="modules-network.html#common-network-settings" title="Commonly used network settings">常用网络设置 (Commonly used network settings)</a> 中介绍的<code class="literal">network.host</code>设置是同时设置<em>bind host</em>和<em>publish host</em>的快捷方式。
在高级用例中，例如在代理服务器后面运行时，你可能需要将这些设置设置为不同的值:
</p>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<code class="literal">network.bind_host</code>
</span>
</dt>
<dd>
指定节点应该绑定到哪个(哪些)网络接口，以便监听传入的请求。
一个节点可以绑定到多个接口，例如两个网卡，或者一个 本地站点(site-local) 地址和一个本地地址。默认为 <code class="literal">network.host</code>。
</dd>
<dt>
<span class="term">
<code class="literal">network.publish_host</code>
</span>
</dt>
<dd>
发布主机是节点向集群中的其他节点发布的单一接口，以便这些节点可以连接到它。
目前，一个 Elasticsearch 节点可能会绑定到多个地址，但只发布一个。
如果未指定，则默认为<code class="literal">network.host</code>中的“最佳”地址，先按 IPv4/IPv6 堆栈优先级排序，然后按可达性排序。
如果你设置的<code class="literal">network.host</code>会产生多个绑定地址，但仍依赖特定地址进行节点到节点的通信，则应该显式设置<code class="literal">network.publish_host</code>。
</dd>
</dl>
</div>
<p>上述两种设置都可以像<code class="literal">network.host</code>一样进行配置，它们接受IP地址、主机名和<a class="xref" href="modules-network.html#network-interface-values" title="Special values for network.host">特殊值</a>。</p>
<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="tcp-settings"></a>高级 TCP 设置
</h4>
</div></div></div>
<p>任何使用 TCP 的组件(如 <a class="xref" href="modules-http.html" title="HTTP">HTTP</a> 和<a class="xref" href="modules-transport.html" title="Transport">传输</a>层)都共享以下设置：</p>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<code class="literal">network.tcp.no_delay</code>
</span>
</dt>
<dd>
启用或禁用 <a href="https://en.wikipedia.org/wiki/Nagle%27s_algorithm" class="ulink" target="_top">TCP no delay</a> 设置。默认为 <code class="literal">true</code>
</dd>
<dt>
<span class="term">
<code class="literal">network.tcp.keep_alive</code>
</span>
</dt>
<dd>
启用或禁用 <a href="https://en.wikipedia.org/wiki/Keepalive" class="ulink" target="_top">TCP keep alive</a>。默认为 <code class="literal">true</code>
</dd>
<dt>
<span class="term">
<code class="literal">network.tcp.reuse_address</code>
</span>
</dt>
<dd>
一个地址是否应该被重用。在非 windows 机器上默认为<code class="literal">true</code>。
</dd>
<dt>
<span class="term">
<code class="literal">network.tcp.send_buffer_size</code>
</span>
</dt>
<dd>
TCP 发送缓冲区的大小(用<a class="xref" href="common-options.html#size-units" title="Unit-less quantities">size 单位</a>指定)。默认情况下不显式设置。
</dd>
<dt>
<span class="term">
<code class="literal">network.tcp.receive_buffer_size</code>
</span>
</dt>
<dd>
TCP 接收缓冲区的大小(用<a class="xref" href="common-options.html#size-units" title="Unit-less quantities">size 单位</a>指定)。默认情况下不显式设置。
</dd>
</dl>
</div>
<h3>
<a id="_transport_and_http_protocols"></a>传输和HTTP协议 (Transport and HTTP protocols)
</h3>
<p>Elasticsearch 节点公开了继承上述设置的两种网络协议，但可以进一步独立配置:</p>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
TCP Transport
</span>
</dt>
<dd>
由 Java <a href="https://www.elastic.co/guide/en/elasticsearch/client/java-api/7.7/transport-client.html" class="ulink" target="_top">传输客户端 (Transport client)</a> 用于集群中节点之间的通信。
参考 <a class="xref" href="modules-transport.html" title="Transport">传输 (Transport)</a>。
</dd>
<dt>
<span class="term">
HTTP
</span>
</dt>
<dd>
公开所有客户端使用的 JSON-over-HTTP 接口。参考 <a class="xref" href="modules-http.html" title="HTTP">HTTP</a>。
</dd>
</dl>
</div>
</div>

</div>

</div>
<div class="navfooter">
<span class="prev">
<a href="modules-node.html">« 节点</a>
</span>
<span class="next">
<a href="query-cache.html">节点查询缓存设置 »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>